

/**
 * Permette di restituire i dati associati ad un Cookie.
 * 
 * @param nome_parametro rappresenta il parametro di interesse da estrarre.
 * @returns il parametro di interesse con il relativo valore.
 */
function estraiCookie(nome_parametro){
	var x=document.cookie;
	var terminatore=";";
	var indicePre=x.indexOf(nome_parametro)+nome_parametro.length+1;
	var indiceFine=indicePre+x.substring(indicePre).indexOf(terminatore);
	return x.substring(indicePre,indiceFine);
}






/**
 * Permette di creare un cookie con un determinato nome <code>nomeCookie</code>
 * e valore <code>valoreCookie</code>
 *  
 * @param nomeCookie nome del Cookie 
 * @param valoreCookie valore assunto dal Cookie di nome <code>nomeCookie</code>
 */
function scriviCookie(nomeCookie,valoreCookie){
 
  document.cookie = nomeCookie + '=' + escape(valoreCookie);
}




/**
 * Permette di Cancellare il cookie passato, variando la sua validit� temporale.
 * 
 * @param name cookie da cancellare.
 */
function cancellaCookie( name ) {
	  //Modifica della validit� tempoarle del cokie
	  document.cookie = name + '=; expires=Thu, 01 Jan 1970 00:00:01 GMT;';
	  //Refresh della pagina
	  location.reload();
	}





/**
 * Funzione che viene eseguita ogni volta che viene eseguito il logout. 
 * Permette di cancellare i dati dell'utente immagazzinati nei cookie. 
 */
$(function(){$('#logout').click(function(){
		cancellaCookie("nome");
		cancellaCookie("email");
		cancellaCookie("page");
		cancellaCookie("control");
		
    //Inoltro della richiesta per eliminare il bean
		$.ajax({ 
	            type:"POST",
				url:"ControlloLogout.jsp",
			    data:{   
			    //Dati che vengono passati con l'inoltro della richiesta
	            bean:"true"
				  
			   },    
		success:function(data){   
												    		
	        }
	      });	
	});
});




/**
 * Funzione che permette di aggiornare lo stato de Cookie quando l'utente esegue 
 * una modifica al proprio profilo.
 * 
 * @param nome rappresenta il il valore del campo nome da modificare .
 * @param email rappresenta il il valore del email nome da modificare.
 * @param page pagina verso cui � effettuato il refresh.
 */
function RefreshCookie(nome, email, page, control) {
	//Elimino i vecchi Cookie
	cancellaCookie("nome");
	cancellaCookie("email");
	cancellaCookie("page");
	cancellaCookie("control");
	
	//Scrivo i nuovi Cookie
	scriviCookie("page",page);
	scriviCookie("nome",nome);
	scriviCookie("email",email);
    scriviCookie("control",control);	
	
	//Refresh della pagina per aggiornare i Cookie   
	window.top.location.href =estraiCookie("page");
  
}




/**
 * Funzione che viene eseguita ogni volta che viene caricata una pagina. 
 * Permette la gestione della visualizzazione dei deti nel pannello welcome.  
 */
window.onload=function(){

	//Se l'utente risulta loggato viene visualizzato un messaggio di benvenuto 
	//con il nome dell'utente, il link alla propria pagina personale e il 
	//pulsante di logout.
	if(estraiCookie("nome")!="")
	 {  
		$("#user").html("Benvenuto "+ estraiCookie("nome")+" !");
		$("#pagina_personale").html("<a href="+estraiCookie("page")+">" +"pagina personale</a>");
		$("#logout").html("Logout");
	 }
	$.ajax({
		url : 'RimuoviElemento.jsp',
		type : 'POST',
		data : {
			count : 1
		} ,
		dataType : 'html',
		success : function(data) {
			$("div#logged").append(data);
			var r=parseInt($('input#num_elemento').val());
			if(r>0){
				r=r+1;
				if(r<13)
					$("div#logged").next().after('<a href="MStep'+r+'.html"><h3 style="margin:0px;position:relative;left:93%;width:60px;">(1) <i class="fa fa-shopping-cart"></i></h3></a>');
				else
					$("div#logged").next().after('<a href="CreazioneOrdine.jsp"><h3 style="margin:0px;position:relative;left:93%;width:60px;">(1) <i class="fa fa-shopping-cart"></i></h3></a>');
			}
		}
	});
};





